A Scroll program képes együttműködni azon levelező kliens programokkal, amik MAPI protokollon keresztül fogadni tudnak adatokat.
A programok áttekintő listája:
Nem Microsoft termékek:
- Mozilla (ThunderBird)
- Opera Mail
- Régi Opera integrált böngésző és levelező
- ... stb ...
Microsoft termékek:
- Outlook Express
- Outlook
- Windows Live Mail (ingyenes)
A két család közötti legfőbb differencia, hogy a Microsoft termékek:
a.)
Képesek befogadni, és a levél részeivé tenni a logo (kép) állományokat, amennyiben azok a fájlrendszerben találhatóak.
b.)
Képesek a HTML mellékletet a levél törzsévé tenni, amennyiben nincs alapértelmezetten megadott levéltörzs (kvázi javíthatóvá válik a levél). A nem MS csoport a mellékletben kapott HTML-t nem konvertálják levéltörzzsé, így az nem szerkeszthető.
c.)
Nem szabványos módon kezelik a behúzásokat a válaszoknál. Ezért pl. egy válaszlevélben szükséges lehet színek használata, hogy elkülönüljön a reakció az eredeti levél elemeitől - míg a ThunderBird v. egy GMAIL felület értelmesen behúzza és jelöli az eredeti szöveget, míg a választ a legfelső szinten (0 margó) engedi írni.
d.)
A levélküldés (MAPI hívás) során blokkoljáka az őket hívó programokat - modálisan működnek, azaz addig nem engedik a Scrollt tovább futni, amíg akár OK (Küldés), akár Mégsem gombbal az Új levél ablakot a felhasználó be nem zárta. Ekkor adnak hibakódot a megnyomott gombnak megfelelően.
A nem MS termékek a MAPI hívásnál megmutatják az Új levél ablakot, és azonnal visszaadják a vezérlést a Scroll rendszernek egy hibakóddal.
Sajnos a legújabb MS termékekben a cég szakított a beépített levélszerkesztő használatával, és a Word-öt használja erre a célra; ami sajnos egy belső konverteren keresztül szétzilálja a megkapott tartalmat, és elveszhetnek a Scrollban beállított CSS stílusok.
Továbbá ez a konverzió jelentősen meglassulhat, ha a küldendő levélben szereplő logo nagy méretű, vagy lassan elérhető forrásból kerül belinkelésre (https proxy). Javasoljuk a fejlécben szereplő képeket optimalizált formában, mindenki dolgozó számára könnyen letölthető helyről biztosítani.
A MAPI protokoll csak a legfőbb levél mezők átadására lett felkészítve, úgy mint:
- Feladó (általában nem működik, az aktuális személyt használja)
- Címzett
- Tárgy
- Szövegtörzs
- Mellékletek (ha nincs szövegtörzs, az MS termékek átveszik az első HTML v. Text mellékletet)
A protokoll csak LEHETŐSÉGET AD az információcserére, de a levelező kliens dönti el, mihez kezd a megkapott tartalommal.
Azaz: mit vesz át, azt hogyan konvertálja, tördeli, jeleníti meg, szabdalja szét, stb.
Így pl. arra, hogy a MS Outlook milyen módon fogja nyomtatni a levelet, nincs kihatásunk.
További fontos megjegyzés, hogy a levelező kliens nem csak a küldéskor, hanem az ügyfél oldali fogadáskor is átalakíthatja a megkapott levelet. Ezért a Scroll nem tudja garantálni, hogy a tartalom miképpen ér célba.
Tudunk olyan esetről, hogy az Outlookból kapott tartalom a GMAIL felületen átalakul; illetve olyanról is, hogy a ThunderBird levelező programból kézzel küldött levél az Outlookban nem jelent meg, csak félig.
Mindez a levelező kliensek közötti eltérésekből fakad.
A MAPI protokollt a MAPI.DLL szolgálja ki.
A MAPI.DLL-t a levelező kliensek regisztrálni szokták. 64 bites rendszereken sajnos két ága van a regisztrációs adatbázisnak (Registry), ezért fontos, hogy a levelező mindkét ágon szerepeljen (SysWOW64, 32 bites ág).
A protokoll működését a telepített programok és szolgáltatások befolyásolják. Ilyenek a víruskeresők, tűzfalak, proxyk és minden más.
Az Outlook 2013 és NOD32 például egy kényes kombináció. A NOD32 egyes gépeken használt Outlook kiterjesztése (Extension) többféle hibát is okozott:
- A program kifagyása - Access Violation hibaüzenettel
- Az Outlook zárolta az elküldendő levelet és nem tudta törölni ebből a mappából
- A levelek megduplázódtak
- Stb.
A MAPI hibák kapcsán az első tisztázandó dolog, hogy létezik-e levelező kliens a gépen, és az nem-e rendszergazdai v. magasabb joggal fut. Ekkor ugyanis a MAPI.DLL nem tudja megszólítani.
A második kérdés, hogy a: "mailto xy@xy.hu" parancs képes-e eljuttatni hozzá a levelet. Ez viszont nem fog tudni mellékletet átadni.
További tesztelésre az ADOBE Reader "Attach to mail" vagy "Csatolás levélként" funkciója ajánlott, ami a megnyitott PDF-et próbálja közvetíteni.
Hasonlóan lehet próbát tenni a helyi menü, "Küldés levélként" funkcióval; valamint az XNView képnézegető "Létrehozás\Képek csatolása" menüvel.
Ha ezek bármelyikén fennakad a rendszer, akkor a hiba valószínűleg a MAPI protokoll és a levelezőkliens között van, és nem a Scroll programban.
Az Outlook/Office egyes verziói (pl. 2016) esetében a levelezőben még jól jelenik meg a levél, a formázás is helyes, de a kiküldés után egyszerű szövegessé változik a formátum, és bekerül egy "winmail.dat" állomány.
Ekkor az alábbi link segíthet a megoldásban: http://www.ryadel.com/en/configure-outlook-to-not-use-winmail-dat-to-send-attachments/
A Registry-ben a "DisableTNEF" opciót érdemes ellenőrizni, mivel a Windows egyes frissítések után előszeretettel átállítja.
A MAPI protokoll kapcsán felmerülő gyakori hibák
A levél elkészül, elküldi a rendszer, de nem érkezik meg:
MS terméknél bevezetésre került a protokollnév kötelező megadása a címzettek előtt.
Ezt "SMTP:" előtaggal kell jelölnie a MAPI-t használó programnak (l. Scroll).
Ezért a Scroll programban globálisan és lokálisan (konkrét számítógép felhasználónként) is megadható, hogy szükséges-e a protokoll szerepeltetése, ugyanis egyéb levelező programok meg kifejezetten ettől válnak működésképtelenné.
1. hibakód:
A MAPI protokoll elérhetetlen.
Maga a fejlesztőeszköz is végez ellenőrzéseket, amennyiben nem közvetlen meghívás történik.
Ha a 32 és 64 bites registry nem tartalmazza egyaránt a MAPI=1 értéket a következő helyeken, vagy a MAPI DLL nem betölthető, szintén ezt a hibát kapjuk:
32 bit, 64 bit: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem
32 bit, 64 bites gépen:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Messaging Subsystem
Szintén egyes kódot kapunk vissza, ha Microsoft termékekben (Outlook) a levél küldését megszakítjuk (mégsem küldjük).
2. hibakód:
Ez legtöbbször egy MAPI alapértelmezett program hívási hibáját jelöli.
A program megpróbál küldeni, de a MAPI hívás nem tud megérkezni a levelező klienshez, mert valami blokkolja.
A következők fordulhatnak elő:
a.)
A levelező kliens rendszergazdai módban indul, vagy magasabb jogosultságokkal
Próbáljuk meg a Scrollt is ebben indítani. Ha így sikerül, vagy hiba dialógus jelenik meg, akkor könnyebben tudunk továbblépni.
Vigyázat: vannak programok, amiket telepítés után magából a telepítőből nem érdemes elindítani, mert még rendszergazdai módban vagyunk, és ilyenkor egyes közben módosított erőforrások a normál indítás után elérhetetlenné válnak (pl. Notepad++ nem fogadja Drag (behúzás) műveleteket).
b.)
A víruskereső nem tekinti megbízhatónak a Scrollt, így kisebb jogosultságokat ad neki.
Elsőre kapcsoljuk ki az antivírus/tűzfal programot és nézzük meg mi történik. Ha így fut, akkor adjuk meg kivételnek a Scrollt.
c.)
A MAPI protokoll rendszerkomponensei sérültek, vagy a hívás nem megvalósítható - pl. a levelező kliens regisztrált útvonala hibás, stb.
A levelező kliens újratelepítése. Érdemes kipróbálni más klienseket is, hogy produkálják-e a problémát.
A levelező kliens indítási közben lefagy a Scroll (Access Violation hibával):
Ebben az esetben a levelező kliens hibásan települt, vagy egy beépülő modul (pl. NOD antivírus) hibásan kezeli a hívást.
Telepítsük újra a programot, vagy kapcsoljuk ki a beépülő modulokat. Ha így működik, akkor ez volt a hibás.
Az Outlook kimenő (elküldendő) levelek ott ragadnak a mappában - pedig a küldés sikerült:
Ezt NOD32-Outlook 2013 kombinációnál tapasztaltuk. A NOD32 beépülő leblokkolta a levelet, így nem engedte törölni az elküldendő elemekből.
Az alapvető MAPI hibakódok és megnevezésük
- 0- SUCCESS_SUCCESS
- 1- MAPI_USER_ABORT
- 2- MAPI_E_FAILURE
- 3- MAPI_E_LOGIN_FAILURE
- 4- MAPI_E_DISK_FULL
- 5- MAPI_E_INSUFFICIENT_MEMORY
- 6- MAPI_E_ACCESS_DENIED
- 8- MAPI_E_TOO_MANY_SESSIONS
- 9- MAPI_E_TOO_MANY_FILES
- 10- MAPI_E_TOO_MANY_RECIPIENTS
- 11- MAPI_E_ATTACHMENT_NOT_FOUND
- 12- MAPI_E_ATTACHMENT_OPEN_FAILURE
- 13- MAPI_E_ATTACHMENT_WRITE_FAILURE
- 14- MAPI_E_UNKNOWN_RECIPIENT
- 15- MAPI_E_BAD_RECIPTYPE
- 16- MAPI_E_NO_MESSAGES
- 17- MAPI_E_INVALID_MESSAGE
- 18- MAPI_E_TEXT_TOO_LARGE
- 19- MAPI_E_INVALID_SESSION
- 20- MAPI_E_TYPE_NOT_SUPPORTED
- 21- MAPI_E_AMBIGUOUS_RECIPIENT
- 22- MAPI_E_MESSAGE_IN_USE
- 23- MAPI_E_NETWORK_FAILURE
- 24- MAPI_E_INVALID_EDITFIELDS
- 25- MAPI_E_INVALID_RECIPS
- 26- MAPI_E_NOT_SUPPORTED